The present invention relates to databases, and more specifically, to operations on multi-dimensional data structures. In a software system which operates on multi-dimensional data structures, and which incorporates the notion of cell-level access settings to control the access to be granted at each data point, it is often beneficial to express these access settings through a set of access rules, as opposed to simply creating a mask of settings that covers every single cell. There are several reasons for this. For example, a single access rule may determine the settings for an entire region of cells, which makes the representation more compact; access settings often vary across certain dimensions but not others, which can be easily expressed in an access rule; and multiple overlapping rules can be used to define complex access patterns without being as complicated to maintain as a mask.
Irrespective of the way in which the access settings are presented to the user and stored in the model definition, at runtime the system will need to know which access setting to apply for each cell. Therefore, at some point, the system has to resolve the set of access rules to determine the cell-level access settings.
Some software systems, such as the enterprise planning software “Cognos Planning” which is available from International Business Machines Corporation of Armonk, N.Y., also use a specific business hierarchy to control the planning workflow (in IBM Cognos Planning known as the EList). In such systems, it is also desirable to appropriately manage the access specification at the aggregate levels of the business hierarchy. While it is possible for a system to allow the access to be set explicitly at every level of the business hierarchy, there are many usability complications to take into account with this approach.